import problems

def display_menu():
    """
    显示操作菜单界面
    """
    print("欢迎使用题目测试程序！")
    print("1. 执行第1题")
    print("2. 执行第2题")
    print("3. 执行第3题")
    print("4. 执行第4题")
    print("5. 执行第5题")
    print("6. 执行第6题")
    print("7. 执行第7题")
    print("8. 执行第8题")
    print("9. 执行第9题")
    print("10. 执行第10题")
    print("11. 增加题目到题库")
    print("12. 查看题库题目索引")
    print("0. 退出程序")

def add_question_to_library():
    """
    简单模拟增加题目到题库2
    """
    print("")

def show_question_index():
    """
    简单展示题库题目索引
    """
    print("当前题库包含以下题目索引：1 - 10")

while True:
    display_menu()
    choice = input("请输入你的选择: ")
    if choice == '1':
        year = int(input("请输入年份: "))
        month = int(input("请输入月份: "))
        day = int(input("请输入日: "))
        result = problems.day_of_year(year, month, day)
        print(f"这一天是这一年的第{result}天")
    elif choice == '2':
        primes = problems.count_primes_under_1000()
        print(f"1000以内有{len(primes)}个素数，分别是：{primes}")
    elif choice == '3':
        grade = float(input("请输入成绩: "))
        letter_grade = problems.grade_to_letter(grade)
        print(f"成绩对应的等级是：{letter_grade}")
    elif choice == '4':
        s = input("请输入一行字符串: ")
        letters, spaces, digits, others = problems.count_characters(s)
        print(f"英文字母个数: {letters}，空格个数: {spaces}，数字个数: {digits}，其它字符个数: {others}")
    elif choice == '5':
        perfect_numbers = problems.find_perfect_numbers()
        print(f"1000以内的完数有：{perfect_numbers}")
    elif choice == '6':
        n = int(input("请输入N: "))
        sum_value = problems.factorial_sum(n)
        print(f"1+2!+3!+...+{n}!的值为：{sum_value}")
    elif choice == '7':
        n = int(input("请输入奇数N（控制行数和星数）: "))
        if n % 2 == 0:
            print("请输入奇数！")
            continue
        problems.print_diamond(n)
    elif choice == '8':
        sorted_numbers = problems.sort_ten_numbers()
        print(f"排序后的10个数为：{sorted_numbers}")
    elif choice == '9':
        inserted_array = problems.insert_into_sorted_array()
        print(f"插入数字后的排序数组为：{inserted_array}")
    elif choice == '10':
        n = int(input("请输入人数n: "))
        remaining = problems.last_remaining(n)
        print(f"最后留下的是原来第{remaining}号的那位")
    elif choice == '11':
        add_question_to_library()
    elif choice == '12':
        show_question_index()
    elif choice == '0':
        print("感谢使用，程序已退出！")
        break
    else:
        print("无效的选择，请重新输入！")